[INFO] fetching crate bookkeeper-client 0.2.1...
[INFO] checking bookkeeper-client-0.2.1 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate bookkeeper-client 0.2.1 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate bookkeeper-client 0.2.1 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bookkeeper-client 0.2.1
[INFO] finished tweaking crates.io crate bookkeeper-client 0.2.1
[INFO] tweaked toml for crates.io crate bookkeeper-client 0.2.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded atomic v0.6.0
[INFO] [stderr]   Downloaded const_format_proc_macros v0.2.32
[INFO] [stderr]   Downloaded strum v0.23.0
[INFO] [stderr]   Downloaded crc32c v0.6.5
[INFO] [stderr]   Downloaded strum_macros v0.23.1
[INFO] [stderr]   Downloaded matchit v0.7.3
[INFO] [stderr]   Downloaded castaway v0.2.2
[INFO] [stderr]   Downloaded tower-layer v0.3.2
[INFO] [stderr]   Downloaded prost-derive v0.11.9
[INFO] [stderr]   Downloaded ignore-result v0.2.0
[INFO] [stderr]   Downloaded prost-build v0.11.9
[INFO] [stderr]   Downloaded prost-types v0.11.9
[INFO] [stderr]   Downloaded tonic-build v0.9.2
[INFO] [stderr]   Downloaded tokio-io-timeout v1.2.0
[INFO] [stderr]   Downloaded test-log v0.2.15
[INFO] [stderr]   Downloaded axum-core v0.3.4
[INFO] [stderr]   Downloaded env_logger v0.11.2
[INFO] [stderr]   Downloaded etcd-client v0.11.1
[INFO] [stderr]   Downloaded arc-swap v1.7.0
[INFO] [stderr]   Downloaded axum v0.6.20
[INFO] [stderr]   Downloaded compact_str v0.7.1
[INFO] [stderr]   Downloaded const_format v0.2.32
[INFO] [stderr]   Downloaded prettyplease v0.1.25
[INFO] [stderr]   Downloaded tonic v0.9.2
[INFO] [stderr]   Downloaded compact_str v0.4.1
[INFO] [stderr]   Downloaded prost v0.11.9
[INFO] [stderr]   Downloaded env_filter v0.1.0
[INFO] [stderr]   Downloaded hyper-timeout v0.4.1
[INFO] [stderr]   Downloaded sha-1 v0.10.1
[INFO] [stderr]   Downloaded test-log-macros v0.2.15
[INFO] [stderr]   Downloaded zookeeper-client v0.6.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 21d73b6dc1391c53f5de2b4a227c51957958f43d23a7f51ae6176e5a7aec980f
[INFO] running `Command { std: "docker" "start" "-a" "21d73b6dc1391c53f5de2b4a227c51957958f43d23a7f51ae6176e5a7aec980f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "21d73b6dc1391c53f5de2b4a227c51957958f43d23a7f51ae6176e5a7aec980f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21d73b6dc1391c53f5de2b4a227c51957958f43d23a7f51ae6176e5a7aec980f", kill_on_drop: false }`
[INFO] [stdout] 21d73b6dc1391c53f5de2b4a227c51957958f43d23a7f51ae6176e5a7aec980f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 824cfc8ae791a9c36b5f1d1d86d3a8577865eddfb4cb4e14c3963ebbdbcff2e8
[INFO] running `Command { std: "docker" "start" "-a" "824cfc8ae791a9c36b5f1d1d86d3a8577865eddfb4cb4e14c3963ebbdbcff2e8", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling either v1.10.0
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]    Compiling anyhow v1.0.80
[INFO] [stderr]    Compiling rustix v0.38.31
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking allocator-api2 v0.2.16
[INFO] [stderr]    Compiling linux-raw-sys v0.4.13
[INFO] [stderr]    Compiling bitflags v2.4.2
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling prettyplease v0.1.25
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling fastrand v2.0.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling multimap v0.8.3
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling semver v1.0.22
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking tower-layer v0.3.2
[INFO] [stderr]    Compiling unicode-segmentation v1.11.0
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]    Compiling indexmap v2.2.5
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.32
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]     Checking env_filter v0.1.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking uuid v1.7.0
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking ignore-result v0.2.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]     Checking castaway v0.2.2
[INFO] [stderr]    Compiling petgraph v0.6.4
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling crc32c v0.6.5
[INFO] [stderr]     Checking compact_str v0.4.1
[INFO] [stderr]     Checking cpufeatures v0.2.12
[INFO] [stderr]     Checking compact_str v0.7.1
[INFO] [stderr]    Compiling regex-automata v0.4.5
[INFO] [stderr]     Checking sha-1 v0.10.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking env_logger v0.11.2
[INFO] [stderr]     Checking is-terminal v0.4.12
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking yansi v0.5.1
[INFO] [stderr]     Checking arc-swap v1.7.0
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking pretty_assertions v1.4.0
[INFO] [stderr]     Checking const_format v0.2.32
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling tempfile v3.10.1
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling regex v1.10.3
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling pin-project-internal v1.1.4
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]    Compiling bytemuck_derive v1.5.0
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling async-recursion v1.0.5
[INFO] [stderr]    Compiling test-log-macros v0.2.15
[INFO] [stderr]    Compiling prost-derive v0.11.9
[INFO] [stderr]    Compiling strum_macros v0.23.1
[INFO] [stderr]    Compiling num_enum_derive v0.5.11
[INFO] [stderr]     Checking test-log v0.2.15
[INFO] [stderr]     Checking tokio v1.36.0
[INFO] [stderr]     Checking bytemuck v1.14.3
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking atomic v0.6.0
[INFO] [stderr]     Checking pin-project v1.1.4
[INFO] [stderr]     Checking thiserror v1.0.57
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking num_enum v0.5.11
[INFO] [stderr]     Checking strum v0.23.0
[INFO] [stderr]    Compiling prost v0.11.9
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]    Compiling prost-types v0.11.9
[INFO] [stderr]    Compiling prost-build v0.11.9
[INFO] [stderr]    Compiling tonic-build v0.9.2
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]    Compiling etcd-client v0.11.1
[INFO] [stderr]    Compiling bookkeeper-client v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking tokio-io-timeout v1.2.0
[INFO] [stderr]     Checking tokio-stream v0.1.14
[INFO] [stderr]     Checking zookeeper-client v0.6.2
[INFO] [stderr]     Checking h2 v0.3.24
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking tonic v0.9.2
[INFO] [stdout] warning: unused imports: `BookieRegistrationClient`, `BookieServiceInfo`, `BookieUpdateStream`, `LedgerIdStoreClient`, `LedgerMetadataStoreClient`
[INFO] [stdout]   --> src/meta.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     BookieRegistrationClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     BookieServiceInfo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     BookieUpdateStream,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     LedgerIdStoreClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     LedgerMetadataStoreClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BookieRegistrationClient`, `BookieServiceInfo`, `BookieUpdateStream`, `LedgerIdStoreClient`, `LedgerMetadataStoreClient`
[INFO] [stdout]   --> src/meta.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     BookieRegistrationClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     BookieServiceInfo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     BookieUpdateStream,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     LedgerIdStoreClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     LedgerMetadataStoreClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_quorum_coverage_set` is never used
[INFO] [stdout]   --> src/client/entry_distribution.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) trait HasEntryDistribution {
[INFO] [stdout]    |                  -------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn new_quorum_coverage_set(&self) -> QuorumCoverageSet {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ensemble_at` and `ensemble_iter` are never used
[INFO] [stdout]    --> src/client/metadata.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub(crate) trait HasLedgerMetadata {
[INFO] [stdout]     |                  ----------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn ensemble_at(&self, entry_id: EntryId) -> (EntryId, &[BookieId], EntryId) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     fn ensemble_iter(&self, entry_id: EntryId) -> EnsembleIterator<'_> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]   --> src/future.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait Iterable {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn iter(&self) -> Self::Iter;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sendable` is never constructed
[INFO] [stdout]  --> src/marker.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) struct Sendable(std::rc::Rc<()>);
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_quorum_coverage_set` is never used
[INFO] [stdout]   --> src/client/entry_distribution.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) trait HasEntryDistribution {
[INFO] [stdout]    |                  -------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn new_quorum_coverage_set(&self) -> QuorumCoverageSet {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ensemble_at` and `ensemble_iter` are never used
[INFO] [stdout]    --> src/client/metadata.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub(crate) trait HasLedgerMetadata {
[INFO] [stdout]     |                  ----------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn ensemble_at(&self, entry_id: EntryId) -> (EntryId, &[BookieId], EntryId) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     fn ensemble_iter(&self, entry_id: EntryId) -> EnsembleIterator<'_> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]   --> src/future.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait Iterable {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn iter(&self) -> Self::Iter;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sendable` is never constructed
[INFO] [stdout]  --> src/marker.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) struct Sendable(std::rc::Rc<()>);
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `testcontainers`
[INFO] [stdout]  --> tests/client.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use testcontainers::clients::Cli as DockerCli;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ use of undeclared crate or module `testcontainers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `testcontainers`
[INFO] [stdout]  --> tests/client.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use testcontainers::core::{Healthcheck, WaitFor};
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ use of undeclared crate or module `testcontainers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `testcontainers`
[INFO] [stdout]  --> tests/client.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use testcontainers::images::generic::GenericImage;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ use of undeclared crate or module `testcontainers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `testcontainers`
[INFO] [stdout]  --> tests/client.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use testcontainers::Container;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ use of undeclared crate or module `testcontainers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bookkeeper-client` (test "client") due to 5 previous errors
[INFO] running `Command { std: "docker" "inspect" "824cfc8ae791a9c36b5f1d1d86d3a8577865eddfb4cb4e14c3963ebbdbcff2e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "824cfc8ae791a9c36b5f1d1d86d3a8577865eddfb4cb4e14c3963ebbdbcff2e8", kill_on_drop: false }`
[INFO] [stdout] 824cfc8ae791a9c36b5f1d1d86d3a8577865eddfb4cb4e14c3963ebbdbcff2e8
[INFO] checking bookkeeper-client-0.2.1 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate bookkeeper-client 0.2.1 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate bookkeeper-client 0.2.1 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bookkeeper-client 0.2.1
[INFO] finished tweaking crates.io crate bookkeeper-client 0.2.1
[INFO] tweaked toml for crates.io crate bookkeeper-client 0.2.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 96a72cde5c4edb632336e05120e280e78e27500c66417df237b9b9638106a604
[INFO] running `Command { std: "docker" "start" "-a" "96a72cde5c4edb632336e05120e280e78e27500c66417df237b9b9638106a604", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "96a72cde5c4edb632336e05120e280e78e27500c66417df237b9b9638106a604", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "96a72cde5c4edb632336e05120e280e78e27500c66417df237b9b9638106a604", kill_on_drop: false }`
[INFO] [stdout] 96a72cde5c4edb632336e05120e280e78e27500c66417df237b9b9638106a604
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 087ae5a7d840a5c9fe42950eb1b188d258cdda8d89db3363e421d2a28f5476d7
[INFO] running `Command { std: "docker" "start" "-a" "087ae5a7d840a5c9fe42950eb1b188d258cdda8d89db3363e421d2a28f5476d7", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling either v1.10.0
[INFO] [stderr]    Compiling anyhow v1.0.80
[INFO] [stderr]    Compiling rustix v0.38.31
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking allocator-api2 v0.2.16
[INFO] [stderr]    Compiling linux-raw-sys v0.4.13
[INFO] [stderr]    Compiling bitflags v2.4.2
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling prettyplease v0.1.25
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling fastrand v2.0.1
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling multimap v0.8.3
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling semver v1.0.22
[INFO] [stderr]     Checking tower-layer v0.3.2
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]    Compiling unicode-segmentation v1.11.0
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.32
[INFO] [stderr]    Compiling indexmap v2.2.5
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]     Checking env_filter v0.1.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking uuid v1.7.0
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]     Checking castaway v0.2.2
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling crc32c v0.6.5
[INFO] [stderr]    Compiling petgraph v0.6.4
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking compact_str v0.4.1
[INFO] [stderr]     Checking ignore-result v0.2.0
[INFO] [stderr]     Checking cpufeatures v0.2.12
[INFO] [stderr]     Checking compact_str v0.7.1
[INFO] [stderr]     Checking env_logger v0.11.2
[INFO] [stderr]    Compiling regex-automata v0.4.5
[INFO] [stderr]     Checking sha-1 v0.10.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking is-terminal v0.4.12
[INFO] [stderr]     Checking yansi v0.5.1
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking arc-swap v1.7.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking pretty_assertions v1.4.0
[INFO] [stderr]     Checking const_format v0.2.32
[INFO] [stderr]    Compiling tempfile v3.10.1
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling regex v1.10.3
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]    Compiling prost-derive v0.11.9
[INFO] [stderr]    Compiling strum_macros v0.23.1
[INFO] [stderr]    Compiling num_enum_derive v0.5.11
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling pin-project-internal v1.1.4
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]    Compiling bytemuck_derive v1.5.0
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling async-recursion v1.0.5
[INFO] [stderr]    Compiling test-log-macros v0.2.15
[INFO] [stderr]     Checking test-log v0.2.15
[INFO] [stderr]     Checking tokio v1.36.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking bytemuck v1.14.3
[INFO] [stderr]     Checking num_enum v0.5.11
[INFO] [stderr]     Checking atomic v0.6.0
[INFO] [stderr]     Checking pin-project v1.1.4
[INFO] [stderr]     Checking thiserror v1.0.57
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking strum v0.23.0
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]    Compiling prost v0.11.9
[INFO] [stderr]    Compiling prost-types v0.11.9
[INFO] [stderr]    Compiling prost-build v0.11.9
[INFO] [stderr]    Compiling tonic-build v0.9.2
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]    Compiling etcd-client v0.11.1
[INFO] [stderr]    Compiling bookkeeper-client v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking tokio-io-timeout v1.2.0
[INFO] [stderr]     Checking tokio-stream v0.1.14
[INFO] [stderr]     Checking zookeeper-client v0.6.2
[INFO] [stderr]     Checking h2 v0.3.24
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking tonic v0.9.2
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/bookie.rs:365:38
[INFO] [stdout]     |
[INFO] [stdout] 365 |         if buf[..digest_len] != body[LAC_METADATA_LENGTH..prefix_len] {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/client/bookie.rs:392:31
[INFO] [stdout]     |
[INFO] [stdout] 392 |         digester.update(&body[prefix_len..]);
[INFO] [stdout]     |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/bookie.rs:397:38
[INFO] [stdout]     |
[INFO] [stdout] 397 |         if buf[..digest_len] != body[ENTRY_METADATA_LENGTH..prefix_len] {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/bookie.rs:475:58
[INFO] [stdout]     |
[INFO] [stdout] 475 | ...                   let response_buf = &read_buf[4..msg_len];
[INFO] [stdout]     |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/client/bookie.rs:506:92
[INFO] [stdout]     |
[INFO] [stdout] 506 |                 io_slices.push(std::io::IoSlice::new(unsafe {&*(&pending_requests[0].bytes[first_request_offset..] as *const [u8])}));
[INFO] [stdout]     |                                                                                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/client/bookie.rs:508:78
[INFO] [stdout]     |
[INFO] [stdout] 508 |                     io_slices.push(std::io::IoSlice::new(unsafe {&*(&r.bytes[first_request_offset..] as *const [u8])}));
[INFO] [stdout]     |                                                                              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/client/entry_distribution.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |         for write_index in 0..self.write_quorum_size {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/entry_distribution.rs:120:28
[INFO] [stdout]     |
[INFO] [stdout] 120 |         for write_index in 0..self.write_quorum_size {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/entry_distribution.rs:141:10
[INFO] [stdout]     |
[INFO] [stdout] 141 |         (0..quorums)
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/reader.rs:154:18
[INFO] [stdout]     |
[INFO] [stdout] 154 |         for _ in 0..bookies.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/client/service_uri.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let leading = &s[0..i];
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/client/service_uri.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 s = &s[i + 3..];
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/client/service_uri.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Some(i) => (&leading[0..i], &leading[i + 1..]),
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/client/service_uri.rs:28:50
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Some(i) => (&leading[0..i], &leading[i + 1..]),
[INFO] [stdout]    |                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/client/service_uri.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 let address = &s[0..i];
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/client/service_uri.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 s = &s[i..];
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/client/writer.rs:1058:18
[INFO] [stdout]      |
[INFO] [stdout] 1058 |         for _ in 0..bookies.len() {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/meta/serde.rs:27:47
[INFO] [stdout]    |
[INFO] [stdout] 27 |     if let Ok(s) = std::str::from_utf8(&bytes[bookie_path.len()..]) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/meta/serde.rs:67:61
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let Ok(version_str) = std::str::from_utf8(&version_line[METADATA_VERSION_PREFIX.len()..]) else {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/meta/zookeeper.rs:545:27
[INFO] [stdout]     |
[INFO] [stdout] 545 |             &self.scratch[2..6],
[INFO] [stdout]     |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/meta/zookeeper.rs:546:27
[INFO] [stdout]     |
[INFO] [stdout] 546 |             &self.scratch[6..10]
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/meta/zookeeper.rs:558:27
[INFO] [stdout]     |
[INFO] [stdout] 558 |             &self.scratch[3..7],
[INFO] [stdout]     |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/meta/zookeeper.rs:559:27
[INFO] [stdout]     |
[INFO] [stdout] 559 |             &self.scratch[7..11],
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/meta/zookeeper.rs:560:27
[INFO] [stdout]     |
[INFO] [stdout] 560 |             &self.scratch[11..15],
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/meta/zookeeper.rs:561:27
[INFO] [stdout]     |
[INFO] [stdout] 561 |             &self.scratch[15..19]
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/meta/zookeeper.rs:657:17
[INFO] [stdout]     |
[INFO] [stdout] 657 |             if (0..i32::MAX).contains(&lob) {
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BookieRegistrationClient`, `BookieServiceInfo`, `BookieUpdateStream`, `LedgerIdStoreClient`, `LedgerMetadataStoreClient`
[INFO] [stdout]   --> src/meta.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     BookieRegistrationClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     BookieServiceInfo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     BookieUpdateStream,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     LedgerIdStoreClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     LedgerMetadataStoreClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/bookie.rs:365:38
[INFO] [stdout]     |
[INFO] [stdout] 365 |         if buf[..digest_len] != body[LAC_METADATA_LENGTH..prefix_len] {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/client/bookie.rs:392:31
[INFO] [stdout]     |
[INFO] [stdout] 392 |         digester.update(&body[prefix_len..]);
[INFO] [stdout]     |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/bookie.rs:397:38
[INFO] [stdout]     |
[INFO] [stdout] 397 |         if buf[..digest_len] != body[ENTRY_METADATA_LENGTH..prefix_len] {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/bookie.rs:475:58
[INFO] [stdout]     |
[INFO] [stdout] 475 | ...                   let response_buf = &read_buf[4..msg_len];
[INFO] [stdout]     |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/client/bookie.rs:506:92
[INFO] [stdout]     |
[INFO] [stdout] 506 |                 io_slices.push(std::io::IoSlice::new(unsafe {&*(&pending_requests[0].bytes[first_request_offset..] as *const [u8])}));
[INFO] [stdout]     |                                                                                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/client/bookie.rs:508:78
[INFO] [stdout]     |
[INFO] [stdout] 508 |                     io_slices.push(std::io::IoSlice::new(unsafe {&*(&r.bytes[first_request_offset..] as *const [u8])}));
[INFO] [stdout]     |                                                                              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/client/entry_distribution.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |         for write_index in 0..self.write_quorum_size {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/entry_distribution.rs:120:28
[INFO] [stdout]     |
[INFO] [stdout] 120 |         for write_index in 0..self.write_quorum_size {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/entry_distribution.rs:141:10
[INFO] [stdout]     |
[INFO] [stdout] 141 |         (0..quorums)
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/reader.rs:154:18
[INFO] [stdout]     |
[INFO] [stdout] 154 |         for _ in 0..bookies.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/client/service_uri.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let leading = &s[0..i];
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/client/service_uri.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 s = &s[i + 3..];
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/client/service_uri.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Some(i) => (&leading[0..i], &leading[i + 1..]),
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/client/service_uri.rs:28:50
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Some(i) => (&leading[0..i], &leading[i + 1..]),
[INFO] [stdout]    |                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/client/service_uri.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 let address = &s[0..i];
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/client/service_uri.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 s = &s[i..];
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/client/writer.rs:1058:18
[INFO] [stdout]      |
[INFO] [stdout] 1058 |         for _ in 0..bookies.len() {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/meta/serde.rs:27:47
[INFO] [stdout]    |
[INFO] [stdout] 27 |     if let Ok(s) = std::str::from_utf8(&bytes[bookie_path.len()..]) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/meta/serde.rs:67:61
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let Ok(version_str) = std::str::from_utf8(&version_line[METADATA_VERSION_PREFIX.len()..]) else {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/meta/zookeeper.rs:545:27
[INFO] [stdout]     |
[INFO] [stdout] 545 |             &self.scratch[2..6],
[INFO] [stdout]     |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/meta/zookeeper.rs:546:27
[INFO] [stdout]     |
[INFO] [stdout] 546 |             &self.scratch[6..10]
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/meta/zookeeper.rs:558:27
[INFO] [stdout]     |
[INFO] [stdout] 558 |             &self.scratch[3..7],
[INFO] [stdout]     |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/meta/zookeeper.rs:559:27
[INFO] [stdout]     |
[INFO] [stdout] 559 |             &self.scratch[7..11],
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/meta/zookeeper.rs:560:27
[INFO] [stdout]     |
[INFO] [stdout] 560 |             &self.scratch[11..15],
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/meta/zookeeper.rs:561:27
[INFO] [stdout]     |
[INFO] [stdout] 561 |             &self.scratch[15..19]
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/meta/zookeeper.rs:657:17
[INFO] [stdout]     |
[INFO] [stdout] 657 |             if (0..i32::MAX).contains(&lob) {
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BookieRegistrationClient`, `BookieServiceInfo`, `BookieUpdateStream`, `LedgerIdStoreClient`, `LedgerMetadataStoreClient`
[INFO] [stdout]   --> src/meta.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     BookieRegistrationClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     BookieServiceInfo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     BookieUpdateStream,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     LedgerIdStoreClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     LedgerMetadataStoreClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_quorum_coverage_set` is never used
[INFO] [stdout]   --> src/client/entry_distribution.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) trait HasEntryDistribution {
[INFO] [stdout]    |                  -------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn new_quorum_coverage_set(&self) -> QuorumCoverageSet {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ensemble_at` and `ensemble_iter` are never used
[INFO] [stdout]    --> src/client/metadata.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub(crate) trait HasLedgerMetadata {
[INFO] [stdout]     |                  ----------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn ensemble_at(&self, entry_id: EntryId) -> (EntryId, &[BookieId], EntryId) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     fn ensemble_iter(&self, entry_id: EntryId) -> EnsembleIterator<'_> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]   --> src/future.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait Iterable {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn iter(&self) -> Self::Iter;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sendable` is never constructed
[INFO] [stdout]  --> src/marker.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) struct Sendable(std::rc::Rc<()>);
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_quorum_coverage_set` is never used
[INFO] [stdout]   --> src/client/entry_distribution.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) trait HasEntryDistribution {
[INFO] [stdout]    |                  -------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn new_quorum_coverage_set(&self) -> QuorumCoverageSet {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ensemble_at` and `ensemble_iter` are never used
[INFO] [stdout]    --> src/client/metadata.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub(crate) trait HasLedgerMetadata {
[INFO] [stdout]     |                  ----------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn ensemble_at(&self, entry_id: EntryId) -> (EntryId, &[BookieId], EntryId) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     fn ensemble_iter(&self, entry_id: EntryId) -> EnsembleIterator<'_> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]   --> src/future.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait Iterable {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn iter(&self) -> Self::Iter;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sendable` is never constructed
[INFO] [stdout]  --> src/marker.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) struct Sendable(std::rc::Rc<()>);
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `testcontainers`
[INFO] [stdout]  --> tests/client.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use testcontainers::clients::Cli as DockerCli;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ use of undeclared crate or module `testcontainers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `testcontainers`
[INFO] [stdout]  --> tests/client.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use testcontainers::core::{Healthcheck, WaitFor};
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ use of undeclared crate or module `testcontainers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `testcontainers`
[INFO] [stdout]  --> tests/client.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use testcontainers::images::generic::GenericImage;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ use of undeclared crate or module `testcontainers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `testcontainers`
[INFO] [stdout]  --> tests/client.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use testcontainers::Container;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ use of undeclared crate or module `testcontainers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bookkeeper-client` (test "client") due to 5 previous errors
[INFO] running `Command { std: "docker" "inspect" "087ae5a7d840a5c9fe42950eb1b188d258cdda8d89db3363e421d2a28f5476d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "087ae5a7d840a5c9fe42950eb1b188d258cdda8d89db3363e421d2a28f5476d7", kill_on_drop: false }`
[INFO] [stdout] 087ae5a7d840a5c9fe42950eb1b188d258cdda8d89db3363e421d2a28f5476d7
